<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
    <title>Document</title>
  
  </head>
  <body>
    <div id="app">
        <button @click="changeMsg">修改msg</button>
        {{msg}}
        <hr>
        <button @click="addArr">修改数组</button>
        <ul>
          <li v-for="item in arr" ::key="item">
            {{item}}
          </li>
        </ul>
    </div>
    <script src="./vue.global.js"></script>
    <script>
      const { createApp } = Vue;
      const app = createApp({
        data() {
          return {
            msg: '你好vue',
            arr: [1,2,3,4]
          };
        },
        methods: {
          changeMsg(){
            this.msg += '我改变了';
          },
          addArr(){
            this.arr.push(this.arr.length+1);
          }
        },
        // 新增watch属性，定义侦听器
        watch: {
          msg(newVal, oldVal){
            console.log('msg改变了新值是', newVal);
          },
          // 侦听器 基础 写法 默认值 直接比较新老值  针对引用类型，比较值的时候 比较 是 地址 基础侦听器 无法侦听引用类型
          arr(newVal){
            console.log('arr改变了新值是', newVal);
          }
        }
      });
      app.mount("#app");
    </script>
  </body>
</html>
